*++********+==+%@@@@@@@@@@@@@%%########%####%####%############%#####%
********+++++=%@@@@@@@@@@@@%%#%#######%%###################%########%
*+++++++++++++@@@@@@@@@@@############%##############################%
@%#++***++++++#@@@@@@@@%**%%##########%%############################%
@@@%++*+++*+*++#%@@@%%###%%%#%###%#%################################%
@@@@%++++++++++++*#%####%%%%###########%##############%#%#########%#%
@@@@%+++*********#%%%%%%%%#############%#####%####%###########%#####%
@@%#+=*****#***####%############################%#####%####%######%#%
*+++++****########%%##########%###############%%######%#######%#####%
*****++***#####%##############################%#####################%
**+********####%%####%###########%######%########################%%#%
+##%%%%%%%#######################%#####%%###%#######%###############%
*%%%%%%%%%######%########%#%#######%%##%#######%##############%%%%%#%
**###%%%################%%########%%######%%%%######%##########%####%
%################################%#########################%########%
%#########%######################%###%#####################%########%
%##############%#############%#%########%###########################%
%########%%####%%####%#####%#%#%######################%####%########%
%########%%####%#####%###%###%#%######################%#############%
%########%%####%%####%#####%#%#%#%#####%##############%####%########%
%########%%####%#####%#########%#####%#########%######%##########%##%
%##############%#####################%#########%######%####%######%#%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@